/* set the background color of many elements across the grid */
.ag-theme-shadcn {
  --ag-foreground-color: hsl(var(--foreground)) !important;
  --ag-background-color: hsl(var(--background)) !important;
  --ag-secondary-foreground-color: hsl(var(--secondary-foreground)) !important;
  --ag-data-color: hsl(var(--foreground)) !important;
  --ag-header-foreground-color: hsl(var(--muted-foreground)) !important;
  --ag-header-background-color: hsl(var(--background)) !important;
  --ag-tooltip-background-color: hsl(var(--muted)) !important;
  --ag-disabled-foreground-color: hsl(var(--muted-foreground)) !important;
  --ag-active-color: hsl(var(--foreground)) !important;
  --ag-border-color: hsl(var(--border)) !important;
  --ag-selected-row-background-color: hsl(var(--accent)) !important;
  --ag-menu-background-color: hsl(var(--accent)) !important;
  --ag-panel-background-color: hsl(var(--accent)) !important;
  --ag-row-hover-color: hsl(var(--accent)) !important;
  --ag-header-height: 2.5rem !important;
  --ag-checkbox-checked-color: hsl(var(--primary)) !important;
}

.ag-theme-shadcn .ag-paging-panel {
  height: 3rem !important;
}

.ag-row .ag-cell {
  align-content: center !important;
}

.ag-cell {
  line-height: 1.25rem;
  padding-top: 0.675rem;
  padding-bottom: 0.675rem;
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  align-items: self-start;
  position: relative;
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  height: 0px;
}

.ag-cell-wrapper {
  align-items: normal !important;
}

.ag-body-horizontal-scroll-viewport,
.ag-body-vertical-scroll-viewport {
  cursor: auto;
}

.ag-body-horizontal-scroll-viewport::-webkit-scrollbar,
.ag-body-vertical-scroll-viewport::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track,
.ag-body-vertical-scroll-viewport::-webkit-scrollbar-track {
  background-color: hsl(var(--muted));
}

.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb,
.ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb {
  background-color: hsl(var(--border));
  border-radius: 999px;
}

.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb:hover,
.ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb:hover {
  background-color: hsl(var(--placeholder-foreground));
}

.ag-paging-page-size {
  display: none;
}

.ag-row {
  cursor: pointer;
}

.ag-no-border .ag-root-wrapper {
  border: none !important;
}
.ag-no-border .ag-row {
  border-bottom: none !important;
}

.ag-no-border .ag-header {
  margin-bottom: 0.6rem !important;
}

.ag-no-border .ag-paging-panel {
  border-top: none !important;
}

.ag-no-border .ag-cell-focus:not(.ag-cell-inline-editing) {
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.ag-no-border .ag-selection-checkbox {
  margin-right: 0px !important;
}
.ag-no-border .ag-selection-checkbox .ag-checkbox {
  width: 0px !important;
  margin-right: 0px !important;
  transition: width 0.1s ease-in-out;
  opacity: 0;
}
.ag-no-border .ag-selection-checkbox:hover .ag-checkbox {
  opacity: 1;
}

.ag-no-border .ag-selection-checkbox .ag-checkbox:has(.ag-checked) {
  width: 32px !important;
  opacity: 1 !important;
}

.ag-cell-wrapper:hover:has(.ag-checked) .file-icon {
  transition: opacity 0.1s ease-in-out;
}

.ag-checkbox-input-wrapper:focus-within,
.ag-checkbox-input-wrapper:active {
  box-shadow: none !important;
}
.ag-cell-wrapper:has(.ag-selection-checkbox:hover):not(:has(.ag-checked))
  .file-icon {
  opacity: 0;
}

.ag-tool-mode .ag-root-wrapper {
  border: none !important;
}
.ag-tool-mode .ag-row {
  border-bottom: none !important;
}

.ag-tool-mode .ag-header {
  margin-bottom: 0rem !important;
  border-bottom: 0 !important;
}

.ag-tool-mode .ag-header-cell {
  padding: 0rem 1rem !important;
  margin: 1px;
}

.ag-tool-mode .ag-ltr .ag-header-select-all {
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-tool-mode .ag-paging-panel {
  border-top: none !important;
}

.ag-tool-mode .ag-cell-focus:not(.ag-cell-inline-editing) {
  border: 1px solid transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.ag-tool-mode .ag-cell {
  padding: 0rem 1rem !important;
}

.ag-tool-mode:not(.ag-no-selection) .ag-row-focus {
  background-color: hsl(var(--accent)) !important;
}
.ag-tool-mode.ag-no-selection .ag-row-selected::before {
  background-color: hsl(var(--background)) !important;
}

.ag-tool-mode .ag-checkbox-input-wrapper:focus-within,
.ag-tool-mode .ag-checkbox-input-wrapper:active {
  box-shadow: none !important;
}

.ag-tool-mode .ag-layout-auto-height .ag-center-cols-container,
.ag-tool-mode .ag-layout-auto-height .ag-center-cols-viewport {
  min-height: 0px !important;
}

/* Knowledge Base Table - Always show checkboxes */
.ag-knowledge-table .ag-selection-checkbox .ag-checkbox {
  width: 32px !important;
  opacity: 1 !important;
}

.ag-knowledge-table .ag-header-checkbox {
  opacity: 1 !important;
}
